The present invention relates to a method for modifying the operating software of a technical system and to a correspondingly modified operating software. Further, the invention relates to the simulation of the operating software and to a corresponding simulation environment. In particular, the invention relates to the modification and simulation of the operating software of a controller (“electronic control unit”, ECU) that controls or regulates other technical devices, for example vehicle motors or the like.
The computer-aided developing and testing of technical systems and the operating software thereof frequently involves a real, technical system being recreated by a virtual system and simulated as a software model in a suitable development and simulation environment. Such a software model can be used to model both the operating software of the technical system and the hardware thereof. The software models of controllers are usually referred to as a “virtual controller” or “virtual electronic control unit” (virtual ECU). During testing of a controller, the operating software source code, for example, is translated (compiled) for a defined simulation environment, simulated therein, tested and if need be developed further.
The simulation of a technical system or controller based on individually compiled operating software can be problematic, however, because hardware-dependent technical effects that arise from the interaction between the operating software and the hardware of the technical system are generally not recreated with sufficient precision by the operating software translated for the simulation environment. The result is undesirable discrepancies between the behavior of the real system and the simulation thereof. Such effects result, by way of example, from the individual properties of the relevant microcontrollers or processors and the specific instruction sets thereof. Microcontrollers, comprising at least one processor and additional peripherals, are frequently a central part of technical systems to be simulated, particularly in the area of embedded systems, such as controllers. The peripherals of the microcontroller also cause further difficulties, because their technical interactions with the operating software cannot readily be simulated. Additionally, in practice the operating software is often unavailable as source code, which means that an alternative to the simulation approach outlined above is needed.
An alternative that is less suitable for reasons of cost is complete removal of all hardware-dependent software components from the operating software and subsequent recreation of the hardware interactions with another, preferably standardized and similar hardware, or by “rapid control prototyping” (RCP). This is complex and costly, however, particularly with regard to the correct interaction between such circumvention solutions and the amended operating software. Other approaches are aimed at circumventing the execution of individual hardware-dependent functions and providing the functionality thereof elsewhere. This approach also requires the manual intervention of development engineers with specialized knowledge both of the relevant hardware and of the hardware-dependent software components of the operating software. To date, fully automated approaches have failed at simply identifying the hardware-dependent software components of the operating software fully and correctly. Similarly, solutions based on simulations or emulations of the hardware also fail for reasons of technical complexity and the associated costs, since the simulation or emulation environments place very high demands on computation power.